class Solution {
public:
    bool isValid(string s) {
        if(s.size() % 2 == 1)
            return false;
        stack<int> st;
        for(auto& e : s)
        {
            if ((e == '(') || (e == '[') || (e == '{'))
                st.push(e);
            else
            {
                if(st.empty())
                    return false;
                char ch = st.top();
                if((ch == '(' && e != ')')
                || (ch == '{' && e != '}')
                || (ch == '[' && e != ']'))
                    return false;
                st.pop();
            }
        }
        return st.empty();
    }
};